.. _cemCfgUnitSpeed_Set: cemCfgUnitSpeed_Set =================== ------------------- SYNOPSIS -------- .. code-block:: none VT_I4 cemCfgUnitSpeed_Set( VT_I4 Axis, VT_R8 UnitSpeed ) DESCRIPTION ----------- - 논리적 단위 속도에 대한 실제 펄스 출력속도(PPS)를 설정합니다. - 여기서 논리적 단위 속도라 함은 속도 지정 함수에서 사용하는 속도 또는 가속도에 대한 단위량을 의미합니다. - 이 함수를 사용하여 특별히 지정하지 않는 경우에는 단위 속도에 대한 펄스 출력속도는 ‘1’ PPS 로 사용됩니다 PARAMETER --------- - Axis : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대. 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. - UnitSpeed : 단위 속도에 대한 펄스 출력 속도를 설정 혹은 반환합니다. RETURN VALUE ------------ RETURN VALUE ------------ +----------------+-----------+ | Value | Meaning | +================+===========+ | 음수 | 수행 실패 | +----------------+-----------+ | 0 (ceERR_NONE) | 수행 성공 | +----------------+-----------+ .. note:: □ 사용자의 특성에 따라 속도에 대한 단위가 다를 수 있습니다. 즉, 어떤 사용자는 속도 단위를 RPM 으로 표현하는 것이 용이할 수 있고 어떤 사용자는 m/sec 로 표현하는 것이 용이할 수 있습니다. cemCfgUnitSpeed_Set 함수는 사용자가 속도의 단위를 결정하도록 하는 함수입니다. 다음의 예를 참고하시기 바랍니다. Ex 1) 1 회전에 필요한 펄스 수가 3600 펄스인 경우에 속도의 단위를 RPM 으로 하고자 한다면 Unit Distance 값을 3600/60, 즉 60 PPS 로 설정합니다(여기서 60 으로 나누는 것은 RPM 은 분당 회전 수 이므로 초당 3600/60 펄스를 출력해야 1 분에 3600 펄스가 나가기 때문입니다). Ex 2) 1cm 이송에 필요한 펄스 수가 1000 펄스인 경우에 이동량의 단위를 cm/sec 로 하고자 한다면 UnitDist 값을 1000 PPS 로 설정합니다. Example ------- .. code-block:: cpp :linenos: C/C++ #include “ceSDK.h” #include “ceSDKDef.h” long nAxisNo = 0; // 대상 축을 선택합니다. void OnSetUnitSpeed () { /* 1 회전에 필요한 펄스수가 3600 펄스일 때 거리의 단위를 각도 (˚)로, 속도의 단위를 RPM 으로 설정합니다. */ // 1 회전에 3600 펄스가 필요하므로 1˚ 회전을 하기 위해서는 10 펄스가 필요합니다. cemCfgUnitDist_Set ( nAxisNo, 10 ); // 단위 속도를 1rpm 으로 설정합니다. 3600(pulse) / 60(sec) = 60(pps) cemCfgUnitSpeed_Set ( nAxisNo, 60 ); } void OnMove () { * 가속도와 감속도를 각각 200rpm/s 로 설정합니다. 이렇게 하면 작업 속도가 100rpm 이므로 가속및 감속에는 0.5sec 가 소요됩니다.* cemCfgSpeedPattern_Set ( nAxisNo, cemSMODE_T, 100, 200, 200 ); // 모터를 720˚ 회전 시킵니다. 실제로는 720 * 10 pulse 가 출력됩니다. cemSxMoveStart ( nAxisNo, 720 ); }